#ifndef GUARD_Vector3_h
#define GUARD_Vector3_h

class Vector3{
public:
	static const Vector3 ZERO;
	float x,y,z;

	Vector3();
	Vector3(float inx, float iny, float inz);
	float getMagnitude();
	void normalize();
	Vector3 crossProduct(const Vector3& v) const;

	Vector3 operator-();
	Vector3 operator-(const Vector3 &v) const;
	Vector3 operator+(const Vector3& v) const;
	Vector3 operator/(const float d) const;
	Vector3 operator*(const float m) const;
	float operator*(const Vector3& v) const;
	float& operator[] (unsigned i);
};

#endif